package com.zlyx.easy.core.utils;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import com.zlyx.easy.core.list.Lists;

/**
 * 
 * @Auth 赵光
 * @Describle
 * @2019年8月3日 下午6:17:34
 */
public class FileUtils {

	/**
	 * 递归获取指定目录下面所有的Java文件,包括子目录中的
	 * 
	 * @param path 文件路径
	 * @return
	 */
	public static List<String> getAllJavaFiles(String path) {
		return getAllJavaFiles(new File(path));
	}

	/**
	 * 递归获取指定目录下面所有的Java文件,包括子目录中的
	 * 
	 * @param file 文件目录
	 * @return 所有java文件
	 */
	public static List<String> getAllJavaFiles(File file) {
		if (!file.exists()) {
			return new ArrayList<>(0);
		}

		if (file.isFile()) {
			if (file.getName().lastIndexOf(".java") > 0) {
				List<String> list = Lists.newList(file.getAbsolutePath());
				return list;
			} else {
				return Lists.newList();
			}
		}

		List<String> list = Lists.newList();
		if (file.isDirectory()) {
			File[] files = file.listFiles();
			if (files != null) {
				for (File f : files) {
					list.addAll(getAllJavaFiles(f));
				}
			}
		}
		return list;
	}

}
